<script>
import { computed } from 'vue'
import { useStore } from 'vuex'
import MainMenu from './components/MainMenu.vue'
import ParticleBackground from './components/ParticleBackground.vue'
import './assets/theme.css'

export default {
  name: 'App',
  components: {
    MainMenu,
    ParticleBackground,
  },
  setup() {
    const store = useStore()
    const isAuthenticated = computed(() => store.getters['auth/isAuthenticated'])

    return {
      isAuthenticated,
    }
  },
}
</script>

<template>
  <div class="app-container">
    <div class="animated-bg"></div>
    <ParticleBackground />
    <nav class="main-nav" v-if="isAuthenticated">
      <div class="nav-container">
        <MainMenu />
      </div>
    </nav>
    <main class="main-content">
        <router-view />
    </main>
  </div>
</template>

<style>
#app {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

.app-container {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  /* background-color: var(--bg-color); */
  width: 100%;
  /* border: 2px solid yellow !important; */ /* 移除临时边框 */
}

.main-nav {
  background-color: var(--surface-light); /* 将导航栏背景设置为白色 */
  /* padding: var(--spacing-md) 0; */
  box-shadow: var(--shadow-md); /* 使用主题变量中的阴影 */
  position: sticky;
  top: 0;
  z-index: 100;
  width: 100%; /* 将 100vw 改为 100%，避免水平滚动条 */
  /* border: 2px solid red; */ /* 移除临时红色边框 */
}

.nav-container {
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
  /* padding: 0 var(--spacing-lg); */ /* 移除内边距，让内部内容占据更多空间 */
}

.main-content {
  flex: 1;
  /* padding: var(--spacing-lg) 0; */ /* 移除左右内边距 */
  overflow-y: auto;
  width: 100%; /* 确保 main-content 占据全部可用宽度 */
  /* border: 2px solid blue !important; */ /* 移除临时边框 */
  /* background-color: #f0f8ff; */ /* 移除临时背景色：浅蓝色 */
}

/* 自定义滚动条样式 */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--bg-color);
}

::-webkit-scrollbar-thumb {
  background: var(--border-color);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--text-color-lighter);
}
</style>
